home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disk User Volume 3 #6
/
Commodore_Disk_User_Vol.3_6_1990_-.d64
/
3d-text machine
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
6KB
|
126 lines
1 rem 3d-text machine (c) 1989
2 rem marco h. westerweel
3 rem haaksbergen, the netherlands
5 poke53280,14:poke53281,6:poke646,14
100 ak$="press any key to continue...":goto355
105 print"[147][146]";:forco=1to16:printtab(33)x$;co;tab(37);co$(co)" ":next
110 printx$:return
115 print"";:foryx=1to7:printaa$(xy(yx))"[145][145][145][145][145]";:next:printx$:return
120 print"[147] setting up..."
125 r$="":rr$="":g$=" ":h$=" ":l$="[157]":ll$="[157][157]":q1$=""+ll$:q2$=q1$+ll$
130 q3$=q2$+l$:q4$=q3$+l$:c$=si$+rv$+"[223]":d$=si$+vr$+"[223]":e$=fa$+""+g$
135 f$=si$+rv$+g$:t1$=e$+h$+c$+q2$:t2$=e$+c$+e$+c$+q2$:t3$=e$+c$+e$+g$+c$+q3$
140 t4$=e$+c$+q1$:t5$=r$+e$+g$+c$+q2$:t6$=e$+g$+c$+e$+g$+c$+q4$
145 t7$=e$+g$+h$+c$+q3$:t8$=e$+c$+rr$+e$+c$+q4$:m1$=e$+h$+f$+q2$
150 m2$=e$+f$+e$+f$+q2$:m3$=e$+g$+f$+g$+q2$:m4$=e$+f$+e$+c$+q2$:m5$=e$+f$+q1$
155 m6$=e$+f$+h$+q2$:m7$=e$+f$+r$+e$+f$+q3$:m8$=e$+f$+g$+e$+c$+q3$
160 m9$=e$+h$+f$+g$+q3$:m0$=e$+f$+e$+f$+e$+f$+q4$:n1$=d$+e$+f$+g$+q2$
165 n2$=r$+m5$+l$:n3$=e$+f$+e$+f$+g$+q3$:n4$=e$+f$+e$+g$+c$+q3$
170 n5$=e$+c$+e$+f$+q2$:n6$=d$+e$+g$+f$+g$+q3$:n7$=d$+f$+e$+f$+q2$
175 n8$=e$+f$+d$+f$+e$+f$+q4$:n9$=e$+f$+rr$+e$+f$+q4$:n0$=r$+d$+e$+f$+q2$
180 o1$=e$+g$+c$+r$+e$+c$+q4$:o2$=e$+f$+d$+e$+g$+f$+q4$:o3$=r$+e$+f$+g$+q1$+l$
185 o4$=d$+f$+e$+g$+c$+q2$:o5$=e$+f$+e$+c$+e$+f$+q4$:o6$=e$+g$+f$+e$+g$+f$+q4$
190 o7$=d$+f$+g$+e$+f$+q2$:o8$=d$+e$+g$+c$+q2$:o9$=e$+g$+f$+g$+q3$
195 p1$=r$+e$+g$+f$+q2$:b1$=d$+f$+d$+f$:b2$=d$+f$+h$
200 b3$=d$+f$+d$+f$+g$:b4$=r$+d$+f$+g$:b5$=d$+f$+r$:b6$=d$+f$+rr$+d$+f$
205 b7$=d$+f$+g$+d$+f$+g$:b8$=d$+f$+h$+g$:b9$=d$+f$:b0$=d$+f$+r$+d$+f$+g$
210 a$(1)=t1$+m2$+m1$:a$(2)=m2$+m2$+b1$:a$(3)=t1$+m2$+m3$:a$(4)=m4$+m1$+b2$
215 a$(5)=t1$+m6$+m5$:a$(6)=m5$+t1$+b2$:a$(7)=t1$+m8$+m7$:a$(8)=m7$+m9$+b2$+r$
220 a$(9)=t1$+m6$+t1$:a$(10)=m6$+t1$+b2$:a$(11)=t1$+m6$+t1$
225 a$(12)=m6$+m5$+b5$+r$:a$(13)=t1$+m6$+m5$:a$(14)=m4$+m1$+b2$
230 a$(15)=t2$+m2$+m1$:a$(16)=m2$+m2$+b1$:a$(17)=t1$+n1$+n2$:a$(18)=n2$+t1$+b2$
235 a$(19)=r$+t1$+n1$+n2$+l$:a$(20)=n5$+m1$+b2$+r$:a$(21)=t3$+n3$+m3$
240 a$(22)=m4$+n4$+b3$:a$(23)=t4$+m5$+m5$:a$(24)=m5$+t1$+b2$:a$(25)=t6$+m0$+n8$
245 a$(26)=n9$+n9$+b6$:a$(27)=o1$+o5$+m0$:a$(28)=m0$+o2$+b0$:a$(29)=t5$+m8$+m7$
250 a$(30)=m7$+n6$+b4$+r$:a$(31)=t1$+m2$+m1$:a$(32)=m6$+m5$+b5$+r$
255 a$(33)=t1$+m2$+m2$:a$(34)=m1$+o4$+b4$:a$(35)=t1$+m2$+m3$:a$(36)=m4$+m2$+b1$
260 a$(37)=t1$+m6$+t1$:a$(38)=n7$+m1$+b2$:a$(39)=t1$+n1$+r$+m5$
265 a$(40)=m5$+m5$+b5$:a$(41)=t2$+m2$+m2$:a$(42)=m2$+m1$+b2$:a$(43)=t2$+m2$+m2$
270 a$(44)=m2$+n1$+r$+b5$:a$(45)=t8$+n9$+n9$:a$(46)=o5$+o6$+b7$
275 a$(47)=t2$+m2$+n1$:a$(48)=m4$+m2$+b1$:a$(49)=t2$+m2$+m1$
280 a$(50)=n1$+r$+m5$+b5$:a$(51)=t7$+o7$+o9$:a$(52)=m6$+t7$+b8$
285 a$(53)=t4$+m5$+m5$:a$(54)=m5$+m5$+b9$:a$(55)=t1$+n7$+p1$:a$(56)=m6$+t1$+b2$
290 a$(57)=t1$+n7$+m1$:a$(58)=n7$+m1$+b2$:a$(59)=t2$+m2$+m1$
295 a$(60)=n7$+rr$+m5$+b9$:a$(61)=t1$+m6$+o8$:a$(62)=n0$+m1$+b2$
300 a$(63)=t1$+m6$+t1$:a$(64)=m2$+m1$+b2$:a$(65)=t1$+n7$+rr$+m5$
305 a$(66)=m5$+m5$+b9$:a$(67)=t1$+m2$+m1$:a$(68)=m2$+m1$+b2$:a$(69)=t1$+m2$+m1$
310 a$(70)=n7$+rr$+m5$+b9$:a$(71)=t1$+m2$+m2$:a$(72)=m2$+m1$+b2$
315 a$(73)=""+l$+t5$+b4$+"":a$(74)=""+t4$+b9$:a$(75)=t4$+m5$+b9$+""
320 a$(76)=t4$+m5$+m5$+b9$+q1$+t4$+b9$:a$(77)=t1$+n7$+o3$+b9$+q1$+t4$+b9$+r$
325 a$(78)="":a$(79)=chr$(13)+"":ax=0:foraa=1to71step2
330 ax=ax+1:aa$(ax)=a$(aa)+a$(aa+1):next:forax=37to43:aa$(ax)=a$(ax+36):next
335 return
340 poke53280,bo:poke53281,ba:poke1063,160:poke55335,bo:poke1984,160
345 poke56256,bo:print"";
350 forz=1to24:printca$" ":next:return
355 dima$(79),aa$(43),ab$(43):fa$="[154]":si$="[156]":rv$="[146]":vr$="":gosub120
360 forab=1to43:ab$(ab)=aa$(ab):next:fa$="":si$="":rv$="":vr$="[146]":gosub120
365 print"[147]":bo=10:ba=0:ca$="[156]":rv$="":vr$="[146]":gosub340
370 print""tab(10)"[155] presenting the... ":printtab(4);
375 forxy=1to19:readyx:printab$(yx)"[145][145][145][145][145]";:next:print""
380 printtab(4)"[155] a utility for basic programs "chr$(13)"[156]"ak$
385 getgt$:ifgt$=""then385
390 poke53280,0:poke53281,0:print"[147][146][158] (c) 1989";:forxy=1to23
395 readyx:printaa$(yx)"[145][145][145][145][145]";:next:printchr$(13)"[146][158]"ak$;
400 getgt$:ifgt$=""then400
405 dimco$(16):co$="[144][159][156][158][129][149][150][151][152][153][154][155]":forco=1to16:co$(co)=mid$(co$,co,1):next
410 x$="[158]":foryx=1to7:readxy(yx):next:printx$:si=7:bo=0:ba=0:goto480
415 gosub105:gosub115:input"border color";bo$:bo=val(bo$)
420 ifbo<1orbo>16then415
425 bo=bo-1:poke53280,bo:return
430 gosub105:gosub115:input"background color";ba$:ba=val(ba$)
435 ifba<1orba>16then430
440 ba=ba-1:poke53281,ba:x$="[158]":ifba<>0thenx$="[144]":printx$
445 return
450 gosub105:gosub115:input"text face color";fa$:fa=val(fa$)
455 iffa<1orfa>16then450
460 fa$=co$(fa):gosub120:return
465 gosub105:gosub115:input"text side color";si$:si=val(si$)
470 ifsi<1orsi>16then465
475 si$=co$(si):gosub120:return
480 print"[147]":gosub115:printx$" 1) change border color"
485 print" 2) change background color":print" 3) change text face color"
490 print" 4) change text side color":print" 5) create 3d-text file"
495 print" 6) create 3d-text data"
500 input" option (1-6)...";ng$:ng=val(ng$):ifng<1orng>6then480
505 ifng=5thenprint"[147]":gosub115:goto525
510 ifng=6then565
515 onnggosub415,430,450,465
520 goto480
525 input"text file name";tf$:tf=len(tf$)
530 iftf>0theniftf<17thengosub560:goto540
535 print"[147]"x$:gosub115:goto525
540 print"[147]"x$:input" create another file (y/n) ";ag$
545 ifag$<>"n"thenifag$<>"y"then540
550 ifag$="y"then480
555 end
560 open8,8,8,"0:"+tf$+",s,w":fora=1to79:print#8,a$(a):next:close8:return
565 dimln(43),dd(150):x$="":bb=1:ifba=1thenx$="[144]":bb=0
570 px=1024:py=55296:ln$="4445444445546654544444644524444444443222410"
575 fornl=1to43:ln(nl)=val(mid$(ln$,nl,1)):next:pn$="0-.'!? ":forpc=1to7
580 pc$(pc)=mid$(pn$,pc,1):next:up$="[145][145][145][145][145]":f1$=chr$(133):f3$=chr$(134)
585 print"[147]"x$;tab(4);" f1 [146] = print data, f3 [146] = cancel";
590 p1=1145+(rt*280)+lg:p2=55417+(rt*280)+lg:pokep1,42:pokep2,bb:px=p1:py=p2
595 getg$:ifg$>"@"thenifg$<"["theng=asc(g$)-64:goto635
600 ifg$>"0"thenifg$<":"theng=asc(g$)-22:goto635
605 forpc=1to7:ifg$=pc$(pc)theng=35+pc
610 next:ifg<>0then635
615 ifg$=chr$(13)theng=43:goto645
620 ifg$=f3$thenford=1to150:dd(d)=0:next:d=0:lg=0:rt=0:g=0:goto585
625 ifg$=f1$then660
630 goto595
635 pokepx,160:pokepy,ba:lg=lg+ln(g)
640 iflg<39thend=d+1:dd(d)=g:printaa$(g)up$;:g=0:goto590
645 pokepx,160:pokepy,ba:rt=rt+1:ifrt=3thenrt=2:g=0:goto595
650 lg=0:lg=lg+ln(g):d=d+1:dd(d)=43:printaa$(43)up$;:ifg=43theng=0:goto590
655 d=d+1:dd(d)=g:printaa$(g)up$;:g=0:goto590
660 print"[147][146]"x$"data ";:ford=1to150:dd$=str$(dd(d))
665 ifdd(d)<>0thenprintright$(dd$,len(dd$)-1);:ifdd(d+1)<>0thenprint",";
670 next:printchr$(13);tab(6);:input"[146] another message (y/n)...";yn$
675 ifyn$<>"y"thenifyn$<>"n"then660
680 ifyn$="n"thenend
685 px=1024:py=55296:ford=1to150:dd(d)=0:next:d=0:rt=0:lg=0:g=0:goto585
690 data 29,4,42,37,42,20,5,24,20,43,42,42,13,1,3,8,9,14,5
695 data 13,1,18,3,15,42,8,38,42,43,23,5,19,20,5,18,42,37,43,23,5,5,12
700 data 20,5,19,20,9,14,7